System for and method of assigning confidence values to fingerprint minutiae points

ABSTRACT

A method in accordance with the present invention is used to organize minutiae and other identifying characteristics of a patterned object to verify a user. In one embodiment, the method includes matching minutiae points of the patterned object in one more sets with minutiae points of the patterned object in a candidate set. The method also includes adjusting a confidence value of each minutia point in the one or more sets based on results of the matching. The method also includes organizing the one or more sets based on the confidence values, such as by ordering the minutiae in the one or more sets based on the confidence values, or by deleting from the one or more sets any identifying characteristics with a confidence value below a threshold.

RELATED APPLICATION

This application claims priority under 35 U.S.C. §119(e) of theco-pending U.S. provisional patent application Ser. No. 60/830,768,filed Jul. 13, 2006, and titled “System for and Method for AssigningConfidence Values to Fingerprint Minutia Points,” which is herebyincorporated by reference.

FIELD OF THE INVENTION

This invention relates to biometric image processing. In particular,this invention relates to systems for and methods of assigningconfidence values to identifying characteristics of a biometric object,such as fingerprints, using match results.

BACKGROUND OF THE INVENTION

Automated fingerprint processing is a mature art whose applicationrapidly is becoming more widespread. Fingerprint minutiae matchingalgorithms methodically compare minutiae points to determine whether twofingerprint templates match each other. Typically, these matchingalgorithms rely upon an analysis of the confidence of each individualminutia to improve performance or to reduce the computational complexityof the matching process by pruning out low confidence minutiae.

Prior art systems assign these minutiae confidence values by analyzinglocal and global properties of the image from which they were detectedand extracted. These image properties are not tightly linked to theactual matching process and therefore do not always produce a reliableconfidence value that predicts how likely a minutia point is to bematched in future verification attempts. It is the estimate of thislikelihood that is most important when pruning or truncating the numberof minutiae in a template.

Nothing in the prior art teaches assigning confidence values or pruningof individual templates.

SUMMARY OF THE INVENTION

The present invention assigns confidence values to individual minutiaein a fingerprint template by using the results of matching multipletemplates to each other, where each template is created by scanning adifferent image of the same finger. Because the present invention relieson matching to estimate the probability of future matches, the resultsare very reliable and are an excellent predictor of the likelihood of aminutia point to be accurately matched in future verification oridentification attempts. Another advantage of this method is that theconfidence values can be re-evaluated, and made more reliable, withadditional minutia template data and without having access to theoriginal fingerprint image. This is not possible using prior artsystems.

In a first aspect of the present invention, a method is used to organizeidentifying characteristics of a patterned object used to verify thepatterned object. The method includes matching identifyingcharacteristics of the patterned object in one or more sets withidentifying characteristics of the patterned object in a candidate set.The method also includes adjusting a confidence value of eachidentifying characteristic in the one or more sets based on results ofthe matching, and organizing the one or more sets based on theconfidence values.

The one or more sets are organized by ordering the identifyingcharacteristics in the one or more sets based on the confidence values,by deleting from the one or more sets any identifying characteristicswith a confidence value below a threshold, or both. In one embodiment,the threshold is predetermined. Alternatively, the threshold is dynamic.

In one embodiment, the identifying characteristics are fingerprintminutiae and the candidate set and the one or more sets each forms atemplate of fingerprint minutiae. In another embodiment, the identifyingcharacteristics correspond to retinal minutiae and the candidate set andthe one or more sets each forms a template corresponding to retinalminutiae. As used herein, “retinal minutiae” refer to blood vesselbifurcations, endings, and the like. In one embodiment, the method alsoincludes adding the candidate set to the one or more sets.

In a second aspect of the present invention, a method of verifying apatterned object includes generating a template of candidate identifyingcharacteristics from an image of the patterned object; matching thecandidate identifying characteristics to stored identifyingcharacteristics of the patterned object in one or more other templates,wherein the matches are performed based on confidence values associatedwith each of the stored identifying characteristics; and verifying thepatterned object based on a result of the matches. As used herein, a“match” is an attempt to match characteristics, and results in either a“successful” or an “unsuccessful” match.

In one embodiment, the identifying characteristics are finger minutiae.In this embodiment, the method also includes reading the image of thepatterned object using a finger sensor. In another embodiment, theidentifying characteristics include retinal minutiae. In this otherembodiment, the method also includes reading the image of the patternedobject using a retinal scanner. The one or more other templates aregenerated from one or more images of the patterned object.

The candidate identifying characteristics are matched to the storedidentifying characteristics in a manner based on the confidence values.Preferably, the manner is in an order from highest to lowest confidencevalues. The method also includes aligning a template of the candidateidentifying characteristics with the one or more other templates, tothereby perform a more accurate match.

In a third aspect of the present invention, a method of generatingtemplates corresponding to image data includes performing one or morepairwise matches of two or more templates each containing datacorresponding to identifying characteristics, and assigning confidencevalues to each identifying characteristic in each of the two or moretemplates based on matches between the identifying characteristics.

In one embodiment, confidence values are assigned to an identifyingcharacteristic by updating confidence values associated with theidentifying characteristic by an incremental value. The incrementalvalue depends on a type of match between identifying characteristicsmatched during the pairwise matches. The match is “unsuccessful match”,“successful loose” match, “successful strict” match, a successful matchwithin a bounding box, or a combination of these.

Preferably, each pairwise match includes a first stage that includes aloose or low-tolerance match, and a second stage that includes a strictor high-tolerance match.

In a fourth aspect of the present invention, an apparatus for assigningconfidence values to identifying characteristics of a patterned objectincludes a template builder and an assignor. The template builder isconfigured to build templates of identifying characteristics. Eachtemplate contains a record mapping a confidence value to an associatedidentifying characteristic. The assignor is configured to assignconfidence values to each of the identifying characteristics generatedfrom a match of each of the identifying characteristics in a firsttemplate to identifying characteristics of the patterned object in oneor more other templates. The assignor is also configured to organizeeach of the records according to the confidence values. In oneembodiment the template builder discards all identifying characteristicsbelow a threshold. As used herein, configured means configured usingsoftware, hardware, firmware, any other means of configuring an element,and any combination of these.

The apparatus also includes a biometric sensor coupled to the templatebuilder. The biometric sensor is configured to read a patterned objectand extract data corresponding to identifying characteristics. In oneembodiment, the biometric sensor is a finger image sensor. In anotherembodiment, the biometric sensor is a retinal scanner.

Preferably, the apparatus also includes a template library configured tostore one or more templates containing records mapping confidence valuesto identifying characteristics. The apparatus also includes a matcherfor matching, in a predetermined manner, identifying characteristics ofthe patterned object read by the biometric sensor with identifyingcharacteristics in the template library, thereby verifying the patternedobject. The predetermined manner includes comparing the identifyingcharacteristics in an order determined by the confidence values.

Preferably, the matcher includes a loose matcher in a first stage and astrict matcher in a second stage. The matcher is configured to incrementa confidence value by a first value if the first stage determines asuccessful match and by a second value, larger than the first value, ifthe second stage determines a successful match.

The apparatus also includes a host device configured to perform afunction based on a successful match between a candidate template and atemplate within the template library. The host device is a cellularphone, a personal computer, a digital camera, a digital audio player, adigital audio/video player, or a health/monitor device.

In a fifth aspect of the present invention, an apparatus for matchingminutiae of a patterned object includes a finger sensor for reading animage of the patterned object; a template builder configured to buildtemplates of minutiae from the image; a storage containing a library ofone or more other templates, wherein each of the one or more templatesmaps confidence values to minutiae from one image of the patternedobject, and further wherein the minutiae in the one or more templateshave an organization based on the confidence values; and a matcherconfigured to match any pair of templates based on the organization tothereby verify the patterned object. The apparatus also includes anassignor configured to assign confidence values to minutiae in the oneor more templates based on a result of the matches and to organizetemplates based on the confidence values.

In a sixth aspect of the present invention, a computer-readable mediumstores a data structure that includes a plurality of records. Eachrecord includes a first field containing data representing a minutiapoint and a second field containing data representing a confidence valuefor the minutia point.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level diagram of a system using a fingerprint sensor toverify a user in accordance with one embodiment of the presentinvention.

FIG. 2 is a high-level diagram of a system using a retinal scanner toverify a user in accordance with one embodiment of the presentinvention.

FIG. 3 is a block diagram of a template builder and a matcher inaccordance with one embodiment of the present invention.

FIG. 4 shows a fingerprint with minutiae points circled.

FIG. 5 shows a finger sensor, a minutiae extractor, and a templatebuilder in accordance with one embodiment of the present invention.

FIG. 6A shows a pair of matching fingerprints in two views, with linesdrawn between corresponding minutiae in both views.

FIG. 6B shows bounding boxes for both views in FIG. 6A.

FIG. 7 is a flow chart of the steps of a process for assigning minutiaeconfidence values in accordance with one embodiment of the presentinvention.

FIGS. 8A-C show templates after initialization and adjustment steps inaccordance with one embodiment of the present invention.

FIG. 9 is a flow chart of the steps of a process for verifying a user inaccordance with one embodiment of the present invention.

FIG. 10 is a high-level block diagram of a template matcher inaccordance with one embodiment of the present invention.

FIGS. 11A and 11B are high-level block diagrams of a matcher inaccordance with different embodiments of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

The present invention is used to validate a patterned object, such as afinger, by matching the identifying characteristics of the patternedobject with stored identifying characteristics of the patterned object.Matches are performed based on confidence values associated with theidentifying characteristics. For example, those identifyingcharacteristics with the highest confidence values are first matched toidentifying characteristics of the read patterned image. In otherembodiments, data corresponding to identifying characteristics with lowconfidence values are deleted, thereby saving memory, always aconsideration on portable devices such as cellular telephones, digitalcameras, and digital audio players.

FIG. 1 shows a system 100 in which an image of a finger 110 is verifiedafter the finger 110 is placed on or swiped across a finger sensor 105.The system 100 includes a verification module 140 coupled to the fingersensor 105. As described below, minutiae points from the finger 110 areextracted and matched to minutiae points generated from other scans ofthe finger 110, generally captured during an enrollment orinitialization process. In accordance with the invention, the finger 110(and hence a user) is verified more quickly, being matched moreefficiently, and also using less memory. FIG. 2 shows a system 150 inwhich an image of a retina, read by a retinal scanner 155, is verifiedto authorize a user to use the system 160. The retinal scanner 155 iscoupled to a verification module 157. Information about retinal minutiaeare extracted and matched to similar information generated from previousscans of the retina.

It will be appreciated that patterned images other than fingers and eyesare able to be verified, and identifying characteristics other thanretinal minutiae can also be used in accordance with the presentinvention.

FIG. 3 is a high-level diagram of a system 200 in accordance with oneembodiment of the present invention. The system 200 includes a biometricsensor 205 coupled to a template generator 210, which in turn is coupledto a verification module 220. In operation, the biometric sensor 205reads a patterned object, such as a fingerprint, to capture an image ofthe patterned object. The template generator 210 generates a template T1containing identifying characteristics corresponding to the capturedimage. The verification module 220 matches the identifyingcharacteristics represented by the information in T1 to identifyingcharacteristics in other templates generated from other images of thepatterned object to verify the patterned object. Preferably, theidentifying characteristics generated from other images of the patternedobject are stored in multiple templates Tmult (not shown). Each of thetemplates Tmult contains data representing characteristics of one of theother images, as well as records that associate confidences values tocorresponding identifying characteristics. The confidence values areupdated to reflect more or less confidence in an identifyingcharacteristic.

As one example, an identifying characteristic has a high degree ofconfidence (a high confidence value) because it is found in more of thepatterned images than an identifying characteristic with a smallerconfidence value. An identifying characteristic can have a lowconfidence value because it is associated with a temporary scar that isfound in few of the scanned images or was produced by dirt on a sensorfrom which the patterned image was obtained. In accordance with thepresent invention, when verifying a scanned image, scanned identifyingcharacteristics are first matched to corresponding identifyingcharacteristics that have high confidence values. In some embodiments,identifying characteristics with low confidence values are not evenstored, let alone matched, thereby saving memory and processor timeneeded to perform matches.

When a number of identifying characteristics above a threshold aresuccessfully matched with stored identifying characteristics, thepatterned object, and thus the owner of the patterned object, isverified. This threshold can be set and adjusted using differentcriteria. As one example, when a user must be verified to perform somelow-level task on a computer system, few identifying characteristicsmust be successfully matched. When a user must be verified to perform ahigh-level task, more identifying characteristics must successfullymatch.

FIG. 4, used to explain examples below, shows a fingerprint image 300read by a finger sensor. The fingerprint image 300 contains identifyingcharacteristics used to identify the finger. Here, the identifyingcharacteristics include minutiae points 301A-C and 301E-I, which includeridge endings and bifurcations.

FIG. 5 shows a component 310 for capturing fingerprint minutiae andgenerating a template of minutiae as the identifying characteristics.The component 310 includes a finger sensor 311, such as a finger swipesensor or a finger placement sensor, coupled to a template generator325. The template generator 325 includes a minutiae extractor 315,coupled to a template builder 320 for building a template T1.Preferably, the template T1 contains records associating confidencevalues to data representing minutiae points. The confidence values areinitialized and later adjusted (incremented, decremented, or notchanged) when the identifying characteristics in the template T1 arematched to identifying characteristics in other templates. In analternative embodiment, the confidence values are included in a datastructure associated with but different from the template T1.

In one embodiment, a minutiae-based matcher is used to compare two ormore templates extracted from two or more different scans of the samefingerprint to assign confidence values to each individual minutia pointin each template. Minutiae matchers are described in Davide Maltoni,Dario Maio, Anil K. Jain, and Salil Prabhakar, Handbook of FingerprintRecognition (1st ed., Springer 2005), which is hereby incorporated byreference. These minutiae matchers are able to determine whether aminutia point M in template T_view1 is the same physical point asminutia point M′ in template T_view2. In fact, the matcher is able tomap a subset of minutia points in T_view1 to a subset of the minutiapoints in T_view2, so that for any given minutia point M in templateT_view1, it is known whether a) that point has a corresponding point M′in template T_view2 or b) that point has no known corresponding point.Furthermore, it can be determined whether a point M that does not have acorresponding point M′, lies within the bounding box of matched minutiaepoints in T_view1 or is external to it. A similar analysis is performedfor all minutiae points in T_view2. Fingerprint matchers are discussedin more detail in U.S. Pat. No. 6,546,122, titled “Method for CombiningFingerprint Templates Representing Various Sensed Areas,” to Russo, andU.S. Pat. No. 6,681,034, titled “Method and System for FingerprintTemplate Matching,” to Russo, both of which are hereby incorporated byreference.

FIG. 6A shows two different views, View 1 and View 2, of a fingerprintimage. Preferably, the different views are represented by data intemplates generated from different scans of the same finger. FIG. 6Ashows how to determine whether a minutia point in view 1 (e.g., point B)has a corresponding minutia point in view 2 (e.g., point B′). Asexplained below, this correspondence determines whether and how aconfidence value for a minutia point is adjusted. For example, if aminutia point in one view (e.g., point B in View 1) has a correspondingminutia point in another view (e.g., point B′ in View 2), then theconfidence value for the minutiae (in both views) is increased.Otherwise, it is not.

As described in more detail below, confidence values are also adjusteddepending on the location of minutiae: those within a bounding box areadjusted by a larger increment than those outside the bounding box. Abounding box is used for many reasons, such as tailoring processing andsimplifying the matching algorithm, thus decreasing the amount ofprocessing that must be performed during a match.

FIG. 6A also shows that the minutiae points B, C, F, G, H, and I in View1 all have corresponding minutiae points B′, C′, F′G′, H′ and I′ in View2. FIG. 6B shows View 1 and View 2 from FIG. 6A, but with apredetermined bounding box in each view.

For all minutiae contained in T_view1 and T_view2, confidence values areassigned and updated as follows:

-   -   a confidence value is incremented by C_noMatch if the minutia        point is neither successfully matched nor external to the        bounding box    -   a confidence value is incremented by C_matchFinal if the minutia        point is successfully matched    -   a confidence value is incremented by C_external if the minutia        point lies outside the bounding box of final matched minutia        point locations

The bounding box in the preferred embodiment is defined as the rectanglethat minimally encloses all the matched minutia points. Those skilled inthe art will appreciate that other definitions are possible, includingones where the rectangle is rotated, translated, or otherwise orientedto match the angle of rotation between the two fingerprints and anotherin which a trapezoid or other polygonal shape is used to enclose thematched points.

If a minutia point is not successfully matched but lies outside thebounding box, it likely had no chance to successfully match because itcame from a part of the finger that did not overlap with the image itwas being matched to. Therefore it is not penalized.

Referring to FIG. 6B, assuming all minutiae points start with aconfidence value of 0, after the confidence assignment process, theconfidences of each minutia are shown in Table 1.

TABLE 1 T_view1 T_view2 Name Confidence Value Name Confidence Value AC_external B C_matchFinal B′ C_matchFinal C C_matchFinal C′ C_matchFinalE C_noMatch F C_matchFInal F′ C_matchFinal G C_matchFinal G′C_matchFinal H C_matchFinal H′ C_matchFinal I C_matchiFinal I′C_matchFinal J′ C_external

In a preferred embodiment, a matcher has two stages. The first stageuses looser tolerances to match the minutiae points, followed by asecond final stage that uses more stringent (e.g., stricter or tighter)tolerances. The first stage is less likely to omit a minutia point thatshould have successfully matched, so therefore it adds some informationto the confidence. It is also possible to run a single-stage matchertwice with different parameter settings—one loose and one tighter—to getsimilar results. It will be appreciated by those skilled in the art thatany number of stages and parameter settings, alone or combined, can beused to generate finer granularity in the confidence values, as couldnumerous matching metrics such as match error that can be calculated ona per-minutia basis. In the latter case, the confidence incrementsC_external, C_matchFinal, and C_noMatch are not fixed constants.

In all of these cases the bounding box is still defined as a rectanglethat minimally encloses the final matched minutia points. However, inalternative embodiments the bounding box is defined by those minutiaepoints that passed the first stage instead of the final one. Or,different bounding boxes are used based on the results of executing eachstage and/or parameter setting.

In a preferred embodiment, for all minutiae contained in T_view1 andT_view2, confidence values are assigned as follows:

-   -   a confidence value is incremented by C_noMatch if the minutia        point is not successfully matched in stage or the final stage        nor is external to the bounding box    -   a confidence value is incremented by C_matchStage1 if the        minutia point is successfully matched in the first stage    -   a confidence value is incremented by C_matchFinal if the minutia        point is successfully matched in the final stage    -   a confidence value is incremented by C_external if the minutia        point lies outside the bounding box

In one embodiment C_noMatch=0, C_external=2, C_matchStagel=8 andC_matchFinal=32. These incremental values represent the relativeimportance of each stage and property. However, other values andweightings are possible, including values less than zero.

The process is able to be repeated for multiple templates simply bymatching more templates to each other and assigning the confidencevalues as shown above. For instance, if a pool of three templatesT_view1, T_view2 and T_view3 instead of just two are available, allconfidence values are set to zero and then all possible pairs oftemplates are run through the confidence assignment as follows, in anyorder:

-   -   T_view1 with T_view2    -   T_view1 with T_view3    -   T_view2 with T_view3

More generally, all pairwise combinations are performed for all Ntemplates. Given a large enough pool it could be advantageous to skipsome pairs to save computer resources. It is possible to assignconfidence values at a given time—most likely during the enrollmentprocess—and then modify (adjust) them using additional template datacaptured at a later date—most likely during subsequent verificationattempts.

In an alternative embodiment, the minutia confidence adjustmenttechnique described above is used in conjunction with prior art minutiaconfidence methods to form a hybrid method that could be more accuratethan either technique alone. In yet another alternative embodiment, theminutia confidence adjustment technique is applied to only enrollmenttemplates and prior art techniques are used on templates acquired duringverification, where only a single template might be available.

FIG. 7 is a flow chart of the steps 400 for building one or moretemplates in accordance with one embodiment of the present invention.The process starts in the step 401. Next, in the step 410, theconfidence values of all minutiae in all templates are initialized to avalue, such as 0. Next, in the step 415, the first pair of templates arematched, and in the step 420, confidence values are assigned based onmatching results and boundary boxes, such as described above. In thestep 423, the templates are organized in accordance with the presentinvention, such as by ranking the minutiae based on their confidencevalues, ordering the minutiae based on their confidence values, pruningthe minutiae based on their confidence values, or any combination ofthese. In the step 425, it is determined whether there are more minutiaetemplate pairs to match. If there are no more, the process proceeds tothe step 430, where it ends. Otherwise, the process proceeds to the step435, where the next pair of templates are retrieved, and then loops backto the step 420.

FIG. 8A shows a template 500 for View 1 of FIG. 6A, generated aftermatching the templates for View 1 and View 2. The template 500 includesa column 520 of minutiae points (e.g., data representing the minutiaepoints), a column 525 of corresponding confidence values, and rows orrecords 501-510 of minutiae points and corresponding confidence values.The exemplary row 501 shows that the minutia point A (column 520) has acorresponding confidence value of 2 (column 525), and the row 502 showsthat the minutia point B (column 520) has a corresponding confidencevalue of 32 (column 525). Confidence values in the other rows aresimilarly explained.

FIG. 8B shows the template 500 after it has been matched with templatescorresponding to other images (e.g., other views) of the patternedobject so that the confidence values are adjusted to update the template500 to produce the template 500′. As for all figures in the application,like components are designated by like numerals. FIG. 8B shows that theminutia point A has a confidence value of 44 (row 501, column 525), theminutia point B has a confidence value of 48 (row 502, column 525), theminutia point C has a confidence value of 0 (row 503, column 525), etc.

In operation, when a fingerprint image is to be verified, the records inthe “candidate” template generated when the finger is scanned arematched to the records in the template 500. The scanned (candidate)minutiae points are matched to the minutiae points in the template 500to determine whether sufficient minutiae points between the twosuccessfully match. The template 500′ is considered to reflect minutiaeof an authentic finger image. The candidate minutiae are first matchedto the minutiae in the template 500′, and if a number of minutiae pointsabove a threshold successfully match, the scanned finger is verified.Generally, the records are compared sequentially, which means that someminutiae with low confidence values are matched before minutiae withhigher confidence values are matched. This is inefficient since theverification process can be performed more quickly by matching minutiaethat are more likely in both templates. Moreover, the entire template500′ is stored in memory. And because a system can store many templates,each containing many minutiae points, memory is wasted.

In accordance with the present invention, the template 500′ isreorganized to produce the template 500″ in FIG. 8C. The template 500″has been reorganized so that minutiae points are ordered according totheir confidence values, from highest to lowest. Thus, the minutia pointB, with the highest confidence value of 48, is ordered highest, in therow 501. The minutia point A, with the second highest confidence valueof 44, is ordered next, in the row 502, etc.

Preferably, the template 500″ is also pruned so that minutiae pointswith a confidence value below a threshold are deleted from the template500″, thereby saving memory. For example, if a pruning threshold is 10and the minutiae points C, D, and F all have confidence values less than10, then records for all of these minutiae points are deleted from thetable 500″.

In the preferred embodiment, pruning is done by ordering the minutiae byconfidence and truncating the lowest confidence points or just enough soas not to exceed the system's maximum minutiae requirement, if there isone. Each template is pruned separately. In alternative embodiments,pruning is performed based on additional factors as well as confidencevalue, including ways that maximize coverage of the physical surfacearea of the fingerprint represented by the templates (e.g., T_view1,T_view2, etc, described in relation in FIGS. 6A and 6B) that areavailable to verify against.

The pruning threshold can be static, such as determined during aninitialization step, or it can be dynamic, such as based on theavailable memory in the system. When the available memory is limited,the threshold can be increased so that smaller templates are stored inmemory. The threshold can also be set based on a security level of asystem. For lower security levels, the threshold is higher, so thatfewer minutiae points need to be matched. Templates are correspondinglysmaller.

In another embodiment, a threshold can also be determined by a sum ofconfidence values. In this embodiment, confidence values are added, sothat the sum of the confidence values in the stored templates is at ornear a predetermined threshold. Thus, if the threshold is 80, minutiaepoints whose confidence values sum to 80 are stored. All other minutiaepoints are deleted. This threshold can be increased when more scans areperformed. In this way, minutiae points are stored based on the relativevalues of the confidence values, not just the overall sum.

In other words, no matter how many scans are performed, if the relativeconfidence values remain unchanged, the size of the template alsoremains unchanged. In this embodiment, again, the threshold is dynamic.It will be appreciated that other pruning algorithms are possible inaccordance with the present invention.

FIG. 9 is a flow chart of the steps 600 for verifying a scannedfingerprint, such as by using a verification module in accordance withthe present invention. The system is initialized in the start step 601.Next, in the step 603, a “candidate” template is generated, such asdescribed above, from the captured fingerprint image and matched to thenext template in a library of templates. In the first iteration, the“next” template is the first template stored. Preferably, the minutiaepoints in the next template are organized in accordance with the presentinvention. Thus, preferably, when the minutiae points in the candidatetemplate are matched sequentially with the minutiae points in thecandidate template, the minutiae points are matched from highest tolowest confidence values, using a minimum (pruned) set of minutiae withacceptable confidence values. In the step 605, if a threshold number ofminutiae points in the candidate template and the next templatesuccessfully match (e.g., the templates successfully match), the processproceeds to the step 607, generating a “Successful Template Match”(“Verified”) result, and then to step 615, where the process ends.

If, in the step 605, a threshold number of minutiae do not successfullymatch, the process continues to step 609, in which it is determinedwhether there are more templates in the template library to check. Ifthere are no more templates in the template library, the processproceeds to the step 613, in which the process generates an“Unsuccessful Template Match” (“Verification failed”) result, and thenon to step 615. If, in the step 609, it is determined that there aremore templates in the template library to check, the process proceeds tothe step 611, in which the next template is retrieved, and the processthen loops back to the step 603.

It will be appreciated that while the discussion above describes atemplate corresponding to an image of a single patterned object,templates of multiple patterned objects can also be used in accordancewith the present invention. For example, the present invention can beused to verify different fingers of a single user or fingers ofdifferent users.

FIG. 10 is a block diagram of components of the verification module 220of FIG. 3. The verification module 220 includes an input to receive thetemplate T1. The verification module 220 includes a matcher 230,configured to match templates of minutiae and update confidence values,such as discussed above. The matcher 230 receives templates 270 from atemplate library 225 stored in a computer-readable medium and matchesthe templates in the template library 225 to the template T1. Thematcher 230 has a first output coupled to a confidence adjustor 260,which uses the results of the matches to adjust confidence values in thetemplates. The confidence adjustor 260 organizes the templates based onthe confidence values and outputs the organized templates back to thetemplate library 225. The matcher 230 has a second output on which itgenerates a “Template Match Result” (successful or unsuccessful), suchas discussed in FIG. 9, used to verify a patterned object, such as afinger.

Preferably, the confidence adjustor 260 is the same component as aconfidence assignor, discussed elsewhere. The single element assignsvalues during system initialization and adjusts those values later,whenever additional images of a biometric object are scanned. In someembodiments, the single element is referred to as either a confidenceadjustor or a confidence assignor, depending on which step of theprocess (initialization or updating) is being performed. In otherembodiments, the confidence adjustor and the confidence assignor aredifferent elements.

FIG. 11A shows the matcher 230 of FIG. 10 in accordance with oneembodiment of the present invention. The matcher 230 includes a firststage 135 coupled to a second stage 240. Preferably, the first stage 235is a loose matcher, which uses loose tolerances to perform a match, andthe second stage 240 is a strict matcher, which uses tighter tolerancesto perform a match.

FIG. 11B shows a matcher 230′ in accordance with another embodiment ofthe present invention. The matcher 230′ includes a single stage 245 thatuses a feedback loop to match templates in multiple passes. Preferably,the first pass performs loose matches and the second and later passesuse increasingly stricter matches.

In operation of one embodiment of the present invention, multiple scansof finger images are taken. Corresponding templates from each scan aregenerated and stored in a template library. Preferably, the multiplescans are taken of the finger at different orientations-rotated alongdifferent axis, rolled, etc.—so that when the finger is later scannedfor verification, regardless of its orientation, a correspondingtemplate exists. The templates are matched to one another, usingpairwise matches, and confidence values are determined for each minutiaein each template. The templates are organized so that they take up lessmemory and so that they can be later matched to other templates morequickly. Preferably, the multiple scans are performed during anorientation or initialization step.

The templates are later used to verify a user's identity. The userplaces her finger on or swipes her finger across a finger sensor. Acandidate template is generated from this scan and matched to thetemplates in the template library. The matches are performed based onthe organization of the templates in the template library. A user isverified only if a successful match is made between the candidatetemplate and a template in the template library. In some embodiments,the candidate template is added to the template library. Once verified,the user can access a system or perform a specific function on thesystem, such as access a protected file or launch a specific program.

While the discussions above have focused on fingerprint sensors, it willbe appreciated that the invention can be used to verify other biometricobjects such as retinas, using identifying characteristics such asretinal minutiae, and palmprints. Those skilled in the art willrecognize that the invention can be modified in many ways. For example,a template in accordance with the present invention can point to adifferent data structure in which identifying characteristics areactually stored. In this way, the template will contain elements thatcorrespond to the identifying characteristics. It is these elements thatcan be ranked, ordered, or deleted in accordance with the presentinvention.

It will also be appreciated that the steps shown above to illustrateembodiments of the invention can be modified in many ways in accordancewith the invention. For example, some steps can be added, some steps canbe deleted, and the steps can be performed in orders different fromthose shown.

It will be readily apparent to one skilled in the art that othermodifications may be made to the embodiments without departing from thespirit and scope of the invention as defined by the appended claims.

1. A method of organizing identifying characteristics of a patternedobject used to verify the patterned object, the method comprising:matching identifying characteristics of the patterned object in at leastone set with identifying characteristics of the patterned object in acandidate set, wherein the matching includes a loose matching stage anda strict matching stage; and adjusting a confidence value of eachidentifying characteristic in the at least one set based on results ofthe matching, wherein the confidence value is increased by a first valueif a match occurs in the loose matching stage and by a second valuelarger than the first value if a match occurs in the strict matchingstage.
 2. The method of claim 1, further comprising organizing the atleast one set based on the confidence values.
 3. The method of claim 2,wherein organizing the at least one set comprises ordering theidentifying characteristics in the at least one set based on theconfidence values.
 4. The method of claim 2, wherein organizing the atleast one set comprises deleting from the at least one set anyidentifying characteristics with a confidence value below a threshold.5. The method of claim 4, wherein the threshold is predetermined.
 6. Themethod of claim 4, wherein the threshold is dynamic.
 7. The method ofclaim 1, wherein the identifying characteristics are fingerprintminutiae and the candidate set and the at least one set each forms atemplate of fingerprint minutiae.
 8. The method of claim 1, wherein theidentifying characteristics correspond to retinal minutiae and thecandidate set and the at least one set each forms a templatecorresponding to retinal minutiae.
 9. The method of claim 1, furthercomprising including the candidate set in the at least one set.
 10. Anapparatus for assigning confidence values to identifying characteristicsof a patterned object comprising: a template builder configured to buildtemplates of identifying characteristics, wherein each template containsa record mapping of a confidence value to an associated identifyingcharacteristic; and an assignor configured to assign a confidence valueto each of the identifying characteristics generated from a loose matchand strict match of the identifying characteristics in a template toidentifying characteristics of the patterned object in at least oneother template, wherein the confidence value of a characteristic isbased on whether the loose match and the strict match are made betweencorresponding ones of the identifying characteristics in the patternedobject and the template.
 11. The apparatus of claim 10, wherein theassignor is further configured to organize each of the records accordingto the confidence values.
 12. The apparatus of claim 11, wherein each ofthe records is organized by ordering the record based on an associatedconfidence value.
 13. The apparatus of claim 11, wherein each of therecords is organized by deleting any records having a confidence valuebelow a threshold.
 14. The apparatus of claim 10, further comprising abiometric sensor coupled to the template builder and configured to reada patterned object and extract data corresponding to identifyingcharacteristics.
 15. The apparatus of claim 14, wherein the biometricsensor comprises a finger image sensor and wherein the identifyingcharacteristics are finger image minutiae.
 16. The apparatus of claim14, wherein the biometric sensor comprises a retinal scanner, andwherein the identifying characteristics include retinal minutiae. 17.The apparatus of claim 10, further comprising a template libraryconfigured to store at least one template containing records mappingconfidence values to identifying characteristics.
 18. The apparatus ofclaim 14, further comprising a matcher for matching in a predeterminedmanner identifying characteristics of the patterned object read by thebiometric sensor with identifying characteristics in the templatelibrary to thereby verify the patterned object.
 19. The apparatus ofclaim 18, wherein the predetermined manner comprises matching theidentifying characteristics in an order determined by the confidencevalues.
 20. The apparatus of claim 18, wherein the matcher comprises afirst stage and a second stage.
 21. The apparatus of claim 20, whereinthe first stage performs the loose match and the second stage performsthe strict match.
 22. The apparatus of claim 21, wherein the matcher isconfigured to increment a confidence value by a first value if the firststage determines a successful match and by a second value, larger thanthe first value, if the second stage determines a successful match. 23.The apparatus of claim 17, further comprising a host device configuredto perform a function based on a successful match between a firsttemplate of identifying characteristics and a template in the templatelibrary.
 24. The apparatus of claim 23, wherein the host devicecomprises at least one of a cellular phone, a personal computer, adigital camera, a digital audio player, a digital audio/video player,and a health/monitor device.
 25. An apparatus for assigning confidencevalues to identifying characteristics of a patterned object comprising:means for building templates of identifying characteristics, whereineach template contains a record mapping of a confidence value to anassociated identifying characteristic; and means for assigning aconfidence value to each of the identifying characteristics generatedfrom a loose match and strict match of the identifying characteristicsin a template to identifying characteristics of the patterned object inat least one other template, wherein the confidence value of acharacteristic is based on whether the loose match and the strict matchare made between corresponding ones of the identifying characteristicsin the patterned object and the template.
 26. The method of claim 1,wherein adjusting the confidence value comprises increasing theconfidence value by increasingly larger values if the match occursoutside a bounding box containing matching minutia, inside the boundingbox in the looser matching stage, and inside the bounding box in thestrict matching stage, respectively.
 27. The method of claim 6, whereinthe threshold is dynamically altered based on at least one of availablememory on a host system, a security level of an application executing onthe host system, and a number of finger images scanned on the hostsystem.